﻿using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.Threading.Tasks;
using Windows.Admin.Application.Service;
using Windows.Admin.Application.Service.User.Dtos;
using Windows.Admin.Contract;
using Windows.Application.Share;

namespace Windows.Admin.Application
{
    public interface IUserService
    {
        /// <summary>
        /// 获取当前用户详情(基本信息)
        /// </summary>
        /// <returns></returns>
        Task<CurrentUserResponse> CurrentUser();
        /// <summary>
        /// 获取全部用户
        /// </summary>
        /// <returns></returns>
        Task<List<UserResponse>> GetUsers();
        /// <summary>
        /// 用户视图
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task<PageResponse<UserResponse>> Query(PageRequest<UserRequest> request);
        /// <summary>
        /// 获取id的用户详情
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<UserResponse> Detail(int id);
        /// <summary>
        /// 用户保存
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task Save(UserSaveRequest request);
        /// <summary>
        /// 获取所有可聊天的用户
        /// </summary>
        /// <returns></returns>
       Task<List<ChatUserResponse>> GetChatUsers();
        /// <summary>
        /// 更新个人信息
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        //Task ModifyProfile(ProfileRequest info);
        /// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        //Task ChangePassWord(PassWordRequest info);
    }
}
